const WXAPI = require('apifm-wxapi')

// 显示购物车tabBar的Badge
/**
 * 显示或隐藏底部TabBar上的红点标记，并返回购物车总数。
 * @param {boolean} noTabBarPage - 是否在TabBar页面上显示红点。true表示不显示，false表示显示。
 * @returns {number} 返回购物车商品总数。
 */
async function showTabBarBadge(noTabBarPage){
  const token = wx.getStorageSync('token') // 从存储中获取用户token
  if (!token) {
    return 0 // 如果没有获取到token，则直接返回0，不进行后续操作
  }
  let number = 0
  // 获取自营商品数量
  let res = await WXAPI.shippingCarInfo(token)
  if (res.code == 0) {
    number += res.data.number
  }
  // 获取vop购物车商品数量
  res = await WXAPI.jdvopCartInfo(token)
  if (res.code == 0) {
    number += res.data.number
  }
  if (!noTabBarPage) {
    // 根据购物车数量决定是否在TabBar的第四个标签上显示红点
    if (number == 0) {
      // 如果购物车数量为0，则删除红点
      wx.removeTabBarBadge({
        index: 3
      })
    } else {
      // 如果购物车数量大于0，则设置红点显示数量
      wx.setTabBarBadge({
        index: 3,
        text: number + ''
      })
    }
  }
  return number // 返回购物车商品总数
}


module.exports = {
  showTabBarBadge: showTabBarBadge
}
